A wealth of information is available to computer users with the advent of modern technologies, including the Internet. For example, the users can automatically receive a continuous stream of information, such as documents. The documents may be electronic mail (E-mail) or news wires. However, the users may be overwhelmed with volumes of documents.
Therefore, the users can filter the documents, so that they only receive documents that are relevant to them. Filters are implemented with profiles, in which users describe their interests using natural language. A computer, using a profile, analyzes received documents, and determines whether any of the documents are relevant, and should therefore be presented, to the user.
Two types of filtering techniques have been developed to ascertain relevant information. The first technique is known as batch filtering. With batch filtering, a computer utilizes the profile to periodically analyze received documents. This technique ascertains whether any of the received documents are relevant, and also ranks the documents according to their relative relevance. As a result, this technique provides the user with a list of relevant documents ranked, or ordered, by relative relevance. Therefore, the user can more readily determine which documents to review.
However, this technique is computationally and memory intensive. In part, this is so because this technique requires on the order of Nlog(N) steps, where N is the number of documents in the list. Also, this technique cannot analyze received documents dynamically. Therefore, the user must wait for periodic batch filtering before receiving relevant documents.
The second technique is dynamic. Thus, the user is presented with a relevant document upon its receipt. However, unlike batch filtering, the second technique does not rank documents according to relative relevance. Rather, the second technique only determines whether a document is determined to be relevant or non-relevant based upon the presence or absence of keywords included in the profile. Therefore, there is a need to provide a user with dynamic relevance ranking of documents.